#include "Button.hpp"
#include <iostream>

namespace ygg
{

Button::Button(const phx::vec2f &position, const phx::vec2f &size, const phx::Colorf &color, const std::wstring &text) : 
	rgui::Button(rgui::vec2f(position.x, position.y), rgui::vec2f(size.width, size.height), rgui::Colorf(color.r, color.g, color.b, color.a), text),
	mRenderRectangle(position, size, color)
{

}

void Button::setColor(const rgui::Colorf &color)
{
	rgui::Button::setColor(color);
	mRenderRectangle.setColor(phx::Colorf(color.r, color.g, color.b, color.a));
}

void Button::onClick(const rgui::vec2i &cursorPosition)
{
	std::cout << "Clicked on button: " << this << std::endl;
}

void Button::update(const rgui::vec2i &cursorPosition)
{
	rgui::Button::update(cursorPosition);
}

void Button::render(const rgui::RenderEffect &renderEffect)
{
	mRenderRectangle.render();
}

void Button::mouseEnter()
{
	//mRenderRectangle.setColor(phx::Colorf(1.0f, 0.549019f, 0.0f, 0.8f));
	mRenderRectangle.setColor(phx::Colorf(0.2f, 0.2f, 0.2f, 0.8f));
}

void Button::mouseLeave()
{
	mRenderRectangle.setColor(phx::Colorf(0.0f, 0.0f, 0.0f, 0.8f));
}

void Button::onPressed()
{
	
}

void Button::onReleased()
{
	
}

}